abstract sealed trait C
case object C1 extends C
case object C2 extends C
case object C3 extends C
case object C4 extends C
case object C5 extends C
case object C6 extends C
case object C7 extends C
case object C8 extends C
case object C9 extends C
case object C10 extends C
case object C11 extends C
case object C12 extends C
case object C13 extends C
case object C14 extends C
case object C15 extends C
case object C16 extends C
case object C17 extends C
case object C18 extends C
case object C19 extends C
case object C20 extends C
case object C21 extends C
case object C22 extends C
case object C23 extends C
case object C24 extends C
case object C25 extends C
case object C26 extends C
case object C27 extends C
case object C28 extends C
case object C29 extends C
case object C30 extends C

object Test {

  def test(c: C): Int = c match {
    case C1 => 1
    case C2 => 2
    case C3 => 3
    case C4 => 4
    case C5 => 5
    case C6 => 6
    case C7 => 7
    case C8 => 8
    case C9 => 9
    case C10 => 10
    case C11 => 11
    case C12 => 12
    case C13 => 13
    case C14 => 14
    case C15 => 15
    case C16 => 16
    case C17 => 17
    case C18 => 18
    case C19 => 19
    case C20 => 20
    case C21 => 21
    case C22 => 22
    case C23 => 23
    case C24 => 24
    case C25 => 25
    case C26 => 26
    case C27 => 27
    case C28 => 28
    case C29 => 29
    case C30 => 30

  }
}
